class base{ public: int i; base(int x){ i=x; } virtual void func() { cout<<"Using bse version of func(): "; cout<< i<<'\n'; } }; class derived1:public base{ public: void func() { cout<<"Using derived1's version of func(): "; cout<<i*i<<'\n'; } }; class derived2:public base{ public: derived2(int x):base(x){} void func() { cout<<"Using derived2's version of func(): "; cout<<i+i<<'\n'; } };
int main() { base *p; base ob(10); derived1 d_ob1(10); derived2 d_ob2(10); p=&ob; p->func(); p=&d_ob1; p->func(); p=&d_ob2; p->func(); return 0; }
Liked By
Write Answer
How to make a virtual function in C Plus Plus?
We use cookies to ensure you have the best browsing experience on our website. By using our site, you
acknowledge that you have read and understood our
Cookie Policy &
Privacy Policy
Join MindStick Community
You have need login or register for voting of answers or question.
AVADHESH PATEL
14-Jun-2013class base{
public:
int i;
base(int x){ i=x; }
virtual void func()
{
cout<<"Using bse version of func(): ";
cout<< i<<'\n';
}
};
class derived1:public base{
public:
void func()
{
cout<<"Using derived1's version of func(): ";
cout<<i*i<<'\n';
}
};
class derived2:public base{
public:
derived2(int x):base(x){}
void func()
{
cout<<"Using derived2's version of func(): ";
cout<<i+i<<'\n';
}
};
int main()
{
base *p;
base ob(10);
derived1 d_ob1(10);
derived2 d_ob2(10);
p=&ob;
p->func();
p=&d_ob1;
p->func();
p=&d_ob2;
p->func();
return 0;
}